package com.internetCafes.spms.web.sys.service;

import com.internetCafes.spms.core.model.pageModel.DataGrid;
import com.internetCafes.spms.web.sys.model.ConfInfo;

import java.util.List;
import java.util.Map;

/**
 * 系统配置表
 *
 * @author Sunny
 * @email rekeeper2011@hotmail.com
 * @date 2018-11-12 22:26:42
 */
public interface ConfInfoService {

    /**
     * 专业分类
     */
    Map<String, Map<String, List<ConfInfo>>> groupCertProfession();


    /**
     * 获取证书类型分组
     */
    Map<String, List<ConfInfo>> certTypeGroup();

    /**
     * 查询
     */
    public List<ConfInfo> query(Map<String, Object> params);

    /**
     * ID查询
     */
    public ConfInfo findById(Long id);

    /**
     * ID批量查询
     */
    public List<ConfInfo> queryByIds(List<Long> ids);

    /**
     * 参数分页查询
     */
    public List<ConfInfo> page(Map<String, Object> params, int page, int rows);

    /**
     * 参数分页查询id倒序
     */
    public List<ConfInfo> pageByIdDesc(Map<String, Object> params, int page, int rows);

    /**
     * 参数查询总数
     */
    public long count(Map<String, Object> params);

    /**
     * First查询
     */
    public ConfInfo findFirst(Map<String, Object> params);

    /**
     * 保存
     */
    public int save(ConfInfo confInfo);

    /**
     * 批量保存
     */
    public int saveBatch(List<ConfInfo> confInfoList);

    /**
     * 选择保存
     */
    public int saveSelective(ConfInfo confInfo);

    /**
     * 修改
     */
    public int update(ConfInfo confInfo);

    /**
     * 选择修改
     */
    public int updateSelective(ConfInfo confInfo);

    /**
     * 删除
     */
    public int delete(Long id);

    /**
     * 批量删除
     */
    public int deleteBatch(List<Long> ids);

    /**
     * 批量删除
     */
    public void deleteBatch(Long[] ids);

    public DataGrid dataGrid(Map<String, Object> params, int pageNo, int pageSize);

    List<ConfInfo> selectAllTypes();

    List<ConfInfo> selectByParamsUnionParent(Map<String, Object> params);
}
